package com.z2wenfa.innosticproducer.dao;


import com.z2wenfa.innosticproducer.domain.OrderBean;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface OrderCountDao {

    //获得销售统计根据月份
    List<Object> getOrderCountDataListByMonth(@Param("companyId") int companyId, @Param("yearId") int yearId, @Param("monthId") int monthId);

    //获得销售统计根据公司
    List<Object> getOrderCountDataListByCompany(@Param("companyId") int companyId, @Param("yearId") int yearId, @Param("monthId") int monthId);

    //获得销售统计根据产品类别分类(第一级)
    List<Object> getOrderCountDataListByProductType(@Param("companyId") int companyId, @Param("yearId") int yearId, @Param("monthId") int monthId);

    //获得销售统计根据产品类别分类(第二级)
    List<Object> getOrderCountDataListByProductTypeFirstLevel(@Param("firstProductLevel") int firstProductLevel, @Param("companyId") int companyId, @Param("yearId") int yearId, @Param("monthId") int monthId);

    //获得产品类型集合
    List<Object> getProductTypeList();

    //获得合计的订货量
    OrderBean getTotalOrderValue(@Param("yearId") int yearId, @Param("monthId") int monthId);

    //获得一类类型的订货量
    List<OrderBean> getFirstLevelEachTypeOrderValue(@Param("yearId") int yearId, @Param("monthId") int monthId);

    //获得第二级类型的订货量
    List<OrderBean> getSecondLevelEachTypeOrderValue(@Param("typePid") int typePid, @Param("yearId") int yearId, @Param("monthId") int monthId);
}
